popover: Don't restore stale default widget
authorMatthias Clasen <mclasen@redhat.com>
Sun, 16 Aug 2015 03:38:20 +0000 (23:38 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 16 Aug 2015 03:38:20 +0000 (23:38 -0400)
Only restore the saved default widget if the default hasn't been
changed while the popover was visible.

gtk/gtkpopover.c

index 67697751de5f562b4f18f94e9bf8e0a9a73a50c6..aa36ab564c2fe47951280cd8d9cef27580afac2d 100644 (file)
@@ -610,7 +610,8 @@ gtk_popover_unmap (GtkWidget *widget)
   gdk_window_hide (gtk_widget_get_window (widget));
   GTK_WIDGET_CLASS (gtk_popover_parent_class)->unmap (widget);
 
-  gtk_window_set_default (priv->window, priv->prev_default);
+  if (gtk_window_get_default_widget (priv->window) == priv->default_widget)
+    gtk_window_set_default (priv->window, priv->prev_default);
   g_clear_object (&priv->prev_default);
 }